草庐IT

JavaScript Alert函数执行顺序问题

全部标签

javascript - jquery优先执行

谁能帮我解决这个问题:$('#n').click(function(){$(this).parent().append(' delete');$(this).next().click(function(){alert('clicked');//thisnotworking});$(this).blur(function(){$(this).next().remove();});});JSFiddledemo;问题是blur()事件在click()事件之前执行。 最佳答案 您可以使用超时将删除操作推迟几毫秒。示例:http:

javascript - 在 JavaScript 中更改函数的上下文

这取自JohnResig的LearningAdvancedJavascript#25,称为更改函数的上下文。1)fn()==this行中的this指的是什么?它是指函数内部的this吗?2)虽然我理解最后一行的目的(将函数附加到特定对象),但我不明白代码是如何做到这一点的。“调用”这个词是预定义的JavaScript函数吗?请用通俗易懂的语言解释“fn.call(object)”,并明确告诉我括号(object)中的对象是否与varobject是同一个对象。3).将函数分配给对象后,您会通过编写object.fn();来调用该函数吗?varobject={};functionfn(){

javascript - CoffeeScript 范围问题

我在这里做错了什么?我正在使用粗箭头=>进行回调,但是当代码到达cb.onEndElement并调用@returner时,我得到一个空对象异常。那么为什么@returner不存在呢?classParserconstructor:()->@returner=(data)->searchParser:newxml.SaxParser(cb)=>cb.onStartElementNS(elem,attrs,prefix,url,ns)=>ifelemis"results"then@results=[]elseifelemis"title"then@curr="title"else@curr=

javascript 函数返回未定义

我正在尝试实现谷歌地图,但我遇到的问题是,当我调用函数getLatLng时,它返回了一个未定义的值,我不知道为什么。initialize();varmap;vargeocoder;functioninitialize(){geocoder=newgoogle.maps.Geocoder();varaddress="Rochester,MN";varmyLatLng=getLatLng(address);console.log("myLatLng="+myLatLng);}functiongetLatLng(address){varcodedAddress;geocoder.geocod

JavaScript 内部函数和性能

定义clousre函数与全局范围函数对运行时和内存有何影响?functiona(){//functions(optionA)}//functions(optionB)我知道选项A具有功能作用域(闭包)的优势...假设我有1000个函数,这对运行时间和内存有何影响? 最佳答案 如果您使用内部函数,运行时必须为将来的任何调用分配和保存它们的上下文,并且每次调用包含它们的函数时都会发生这种情况。因此,很容易想象声明一个内部函数就像构造一个对象一样,其成员只是该函数周围封闭范围内的变量。如果您不经常这样做,这可能并没有那么糟糕,因为内存量与

javascript - JavaScript 和匿名函数中闭包的细节

此代码导致"!"被记录在控制台上。varg={};(function(){vart=this;t.x="x";g.a=function(){console.log(t.x);};})();(function(){vart=this;t.x="!";g.b=function(){console.log(t.x);};})();g.a();匿名函数是否共享一个this?我使用this错了吗?我真的不明白这里发生了什么。我希望g.a()继续返回第一个匿名函数中定义的x的值。如果有不同,我会使用node.js。 最佳答案 在立即函数中,th

javascript - IE7 问题中的绑定(bind) hashchange 事件

我在绑定(bind)到InternetExplorer7中的hashchange事件时遇到了一些问题。所有其他版本的InternetExplorer-即。8和9工作正常。我的代码是:$(window).bind('hashchange',function(e){alert('hashchanged');});当Firefox、IE8、IE9中的url哈希发生变化时,我会收到警告框,但在IE7中,什么也没有发生。以前有人遇到过这种情况吗? 最佳答案 很确定IE6和IE7本身不支持它。您是否尝试过使用BenAlman的jqueryBBQ

javascript - 当函数的工作完成时

我正在使用一个jQuery插件,它从url获取数据,获取、计算并将一些数据写入div。我想将此div内容复制到另一个div,当该函数执行其工作时。例如:$("#div1").myfunction();//itgetsandcalculatesdataandaddsto#div1.itneeds2-3secondstobedonevarcontents=$("#div1").html();//whenmyfunction()done,copycontents$("#div2").html(contents);当我运行该代码时,#div2中没有新内容。 最佳答案

javascript - 具有多个单词的正则表达式(以任何顺序)没有重复

我正在尝试对字符串列表执行某种搜索(使用JavaScript)。列表中的每个字符串都有多个单词。搜索查询也可能包含多个词,但词的顺序无关紧要。例如,对于字符串“Thisisarandomstring”,查询“trinandis”应该匹配。但是,这些术语不能重叠。例如,“randomrandom”作为对同一字符串的查询不应匹配。我将根据相关性对结果进行排序,但我自己应该没有问题,我只是不知道如何构建正则表达式。有什么想法吗? 最佳答案 查询trinandis变为以下正则表达式:/trin.*(?:and.*is|is.*and)|an

javascript - Javascript 中的构造函数属性是否有好的用例?

首先,这个问题不是“constructor属性的作用是什么?”-关于它到底是什么以及它是如何工作的,有很多很好的文档:它是对创建对象的函数的引用(可能继承自其原型(prototype))。我更有兴趣了解此属性的常见用例。这在理论上似乎一切都很好,但是您什么时候真正需要对构造您的对象的函数的引用?一些想法是:也许我想克隆它。我可以再次调用构造函数并且获取我的对象的另一个实例。这当然不会奏效因为您可能会创建对象的实例原型(prototype),而不是对象本身;再加上一个更受欢迎的方法是创建一个新对象并设置该对象的原型(prototype)。也许你可以用它来弄清楚对象的“类型”是。这看起来很